

e = 0x10001
flag= 10227915341268619536932290456122384969242151167487654201363877568935534996454863939953106193665663567559506242151019201314446286458150141991211233219320700112533775367958964780047682920839507351492644735811096995884754664899221842470772096509258104067131614630939533042322095150722344048082688772981180270243
n= 52147017298260357180329101776864095134806848020663558064141648200366079331962132411967917697877875277103045755972006084078559453777291403087575061382674872573336431876500128247133861957730154418461680506403680189755399752882558438393107151815794295272358955300914752523377417192504702798450787430403387076153

import libnum
import  gmpy2

p1,s=gmpy2.iroot(n,2)
p=gmpy2.next_prime(p1)
q=n//p
phi=(p-1)*(q-1)
d=libnum.invmod(e,phi)
m=pow(flag,d,n)
print(libnum.n2s(int(m)))
